《九》makefile练习册 大型项目案例 您所在的位置:网站首页 make makefile原理 《九》makefile练习册 大型项目案例

《九》makefile练习册 大型项目案例

2023-03-28 03:39| 来源: 网络整理| 查看: 265

为了实现一个大型的项目,

通常工程里面会有很多的目录.

每个目录有不同的作用.

makefile也是一种代码,

至于怎样实现makefile对大型工程的管理,有很多思路:

大型makefile思路1:

本次用于编写一个通用的多目录下的makefile.

一般会有一个顶层makefile和通用的makefile.build.

然后每个.c文件夹里,会有子目录makefile.

最后,在顶层makefile中编写一个shell遍历程序.

遍历每个子目录,并进入目录运行make命令.

因为各个makefile在执行指令的时候,都用目录,所以不用担心找不到的问题.

大型makefile思路2:

可以参考linux的内核,逐层生成一个打包文件.

采用遍历,

最终生成一个总的打包文件.

然后,通过总的打包文件,生成可执行文件

大型makefile思路3:

可以各层目录下,生成.o文件.

然后把各层的.o文件拷贝到顶层目录.

通过顶层目录,把所有的.o文件进行链接,生成最终的可执行文件.

例如:

项目

    |---build文件夹

    |    |---exes文件夹

    |        |---huge.exe

    |    |---libs文件夹

    |    |---makefile

    |    |---make.rule

    |

    |---source文件夹

        |---lib_hello文件夹

        |    |---inc文件夹

        |    |    |---helloworld.h

        |    |---src文件夹

        |         |---helloworld.c

        |         |---makefile

        |---main_hello文件夹

              |---src文件夹

                    |---deps文件夹

                    |    |---main.dep

                    |---objs文件夹

                    |    |---main.o

                    |---main.c

                    |---makefile

举例:

用思路1和思路2的方式实现的helloworld多目录的应用。

这个例子完全可以应用在其他大型项目中.

例子链接:

链接:https://pan.baidu.com/s/13yVmF5TvKB0M5njj8LkWYA 提取码:1234

链接:https://pan.baidu.com/s/14D79UFrJ9wLWTEpWu1sgpw 提取码:1234



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有